package k8s

// 通过修改 Service 路由实现故障

/*
NetworkChaos

可以从 故障ID 生成 默认故障
默认故障不需要通过 Chaos Mesh 注入，其它需要
*/

//import (
//	"context"
//
//	"github.com/chaos-mesh/chaos-mesh/api/v1alpha1"
//	"k8s.io/apimachinery/pkg/apis/meta/v1"
//
//	"github.com/chaos-mesh/chaos-mesh/pkg/proxy/slog"
//	"github.com/chaos-mesh/chaos-mesh/pkg/proxy/testtask"
//)
//
//func injectNetworkChaos(kind v1alpha1.NetworkChaosAction,
//	name string, labels, labels2 map[string]string) {
//	newNetworkChaos := v1alpha1.NetworkChaos{
//		ObjectMeta: v1.ObjectMeta{
//			Name: name,
//		},
//		Spec: v1alpha1.NetworkChaosSpec{
//			PodSelector: v1alpha1.PodSelector{
//				Selector: v1alpha1.PodSelectorSpec{
//					GenericSelectorSpec: v1alpha1.GenericSelectorSpec{
//						Namespaces:     []string{testtask.TestNamespaceName},
//						LabelSelectors: labels,
//					},
//				},
//				Mode: "all",
//			},
//			Action:    kind,
//			Duration:  enoughDuration,
//			Direction: v1alpha1.Both,
//			Target: &v1alpha1.PodSelector{
//				Selector: v1alpha1.PodSelectorSpec{
//					GenericSelectorSpec: v1alpha1.GenericSelectorSpec{
//						Namespaces:     []string{testtask.TestNamespaceName},
//						LabelSelectors: labels2,
//					},
//				},
//				Mode: "all",
//			},
//		},
//	}
//	for {
//		err := chaosMesh.Post().
//			Namespace(chaosMeshObjectNamespace).Resource(ResourceNetwork).
//			Body(&newNetworkChaos).Do(context.TODO()).Into(&newNetworkChaos)
//		if err != nil {
//			slog.Slog.Warnf("故障 %s labels %v 注入错误 %s 将重试", name, labels, err.Error())
//		} else {
//			break
//		}
//	}
//}
//
//func InjectNetworkPartition(name string, labels, labels2 map[string]string) {
//	injectNetworkChaos(v1alpha1.PartitionAction, name, labels, labels2)
//}
